package org.example.demo20240504.feign.impl;

import lombok.extern.slf4j.Slf4j;
import org.example.demo20240504.feign.DemoFeign;
import org.springframework.web.bind.annotation.RestController;

/**
 * @ClassName DemoFeignImpl
 * @Description TODO
 * @Author huarujin
 * @Date 2024/5/4 15:55
 * @Version 1.0
 */

@RestController
@Slf4j
public class DemoFeignImpl implements DemoFeign {
    @Override
    public String finish(Long id, Integer status) {
        log.info("订单已完成 {}，状态 {}", id, status);
        // 库存扣减失败后，订单服务处理的逻辑
        if (status == 0) {
            // 1. 订单状态以及其他相关业务状态进行回滚
            // 2. 后续补偿，有付款的就进行退款
            return "失败处理已完成";
        }

        // 库存扣减成功后
        if (status == 1) {
            // 之前已经完成了订单这里就不需要做操作
            return "成功处理已完成";
        }

        throw new RuntimeException("未知的状态");
    }
}
